home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 6
/
The Arsenal Files 6 (Arsenal Computer).ISO
/
os2
/
jvw10h.zip
/
JVIEW.HLP
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1996-02-26
|
86KB
|
2,142 lines
ΓòÉΓòÉΓòÉ 1. JView Introduction ΓòÉΓòÉΓòÉ
JView is an image viewing system designed specifically for the OS/2 operating
system. It handles a variety of image formats and is designed to work with an
8 bit or higher graphics system. Every effort has been made to provide help
on-line so that everything you need is a mouse click away.
JView us very flexible in choosing how to view images, but he price for such
flexibility is added complexity. Viewing images has been implemented in ways
that you may be unfamiliar with. It is probably worth your while to look
through the section on Viewing Strategies at this time.
ΓòÉΓòÉΓòÉ 2. PopUp Menu ΓòÉΓòÉΓòÉ
The main menu system is accessed by single clicking the right mouse button or
by using the appropriate keyboard equivalent. You probably figured this out by
now. This help subsection is designed to mimic the layout of the Popup menu.
Follow the subheadings just as they are presented in the menu.
ΓòÉΓòÉΓòÉ 2.1. Files ΓòÉΓòÉΓòÉ
This menu command does nothing by itself except bring up a second popup down
menu which has commands generally relating to files, such as Slide Show, Open a
file, Save a file, etc.
ΓòÉΓòÉΓòÉ 2.1.1. Open File Dialog ΓòÉΓòÉΓòÉ
This dialog is one of the more useful features of JView. The dialog runs
independently of the main display window. You can select a new file at any
time unless JView prevents it, and generally you will only be prevented from
opening a file if JView is already trying to open a file.
File Mask This mask acts as a filter to determine which files are displayed in
the available Files list box. In the Options Notebook you can decide what you
would like the default setting for this to be. You can change the value in
this entry field at any time but the change will only be effective while the
current JView session is active. Typically you would just enter *.* or *.bmp
here. You can also use *.bmp;*.gif to select multiple file extensions. If you
want you could also type in the name of a file or the full name ala
c:\file\my.bmp. Further, you can change to a new directory fairly quickly by
using c:\files\go_here\*.* - This would change to the appropriate drive and
directory and also set the File Mask to *.*.
General Idea Consider this information for the GUI impaired. A file can be
selected by typing the file name into the File Mask entry field or by double
clicking on the appropriate file in the Files list box. Directories are
changed by double clicking in the Directory listbox, using the Quick Dir or by
using the H Dir (a feature discussed below). Drives are changed using the pull
down Drives listbox. The file mask entry field is where, in addition to simply
typing a file name, you may enter wild cards, like *.gif or multiple wild cards
separated by a space, a ; or , for example *.gi*;*.bmp;*.tga A list of only
those files that match the mask will be shown in the files list box. Files can
be shown in either alphabetical or dated format by selecting the appropriate
button. In the Files list box, to the right of a given file's name will be the
file's size, inclosed by < > symbols.
Confirm on delete does what it says. If you try and delete a file, it will
prompt you first. Turn it off and delete will just kill the file when you hit
the Delete button. BEWARE!!! The file deleted is the file shown in the current
file area (at the upper left side of the dialog) not necessarily the file
currently being viewed. If you only single click on a file in the Files list
box it will be selected as the current file even though you have not yet loaded
it. Why does this feature exist? Often a series of images are less than
desirable, so the ability to cream'em all at once is useful. Just leave the
Confirm on Delete attribute on if your not sure, you will always be prompted.
Browse Mode keeps the dialog open when not in use. This is useful if you are
going to look at a variety of files and don't want to keep opening the dialog
each time. When Browse Mode is active, hitting Cancel has features discussed
below. When Browse Mode is off hitting Cancel will close the Open File dialog.
Most often it will be faster just to minimize the Open File Dialog if you want
it out of the way. The penalty for using Browse Mode is that some memory is
used to store the directory information. For most users this will be a trivial
amount of memory, but users with thousands of files in a directory can be
impacted.
Cancel When Browse Mode is not checked this will just dismiss the Open File
Dialog. When Browse Mode is active, Cancel will have two possible effects. If
an image is currently being loaded, Cancel will stop the file read and load the
default JView image. If an image is not being loaded, Cancel will cause the
main window to rise to the top (become active).
H File is an historical listing of all directories you have visited in the
current JView session. If you have gone to several directories and will go
back to them, use this listbox and save yourself some keystrokes (or mouse
clicks).
Low Priority Open will cause the selected file to be read in at low priority,
giving other processes more of the CPU. This option gets applied even while a
file is currently being read. Thus, you can change the priority of a file read
by toggling this switch. See the discussion about Low Priority Threads.
Preview Mode will use the fastest method possible to read a file. The image
will always be converted to grayscale and for certain file formats the image
may be a scaled down version of the full file.
There are two buttons on the lower left side of the dialog box labeled N and P.
These buttons will cause the file either next or previous relative to the
currently highlighted file to be opened. Both will cycle to either the
beginning or end of the list when going off the end. These buttons have
accelerator keys associated with them.
Because of OS/2's multitasking capabilities, JView will attempt to read files
that other applications are currently writing. For most file types, JView can
handle truncated images and so there will not be a problem. Generally speaking
a certain minimum (header info) is needed. Usually there will not be a
problem, but you never know.
To the right of all the obvious pushbuttons there is the I button. This stands
for information. After you have highlighted a file in the files listbox, you
can hit the I button to find out the file format and the resolution of the
image. This way you can test an unknown file before loading to see if it has
some ridiculous resolution, like 10000 by 10000 which would claim 100 megs of
memory if you tried to load it. If you have previously Iconified the file, the
icon will be displayed by hiding the Directory listbox. Dry your little eyes,
the Directory listbox is just hiding and will come back to visit you after you
click on any file in the file listbox, except the currently selected one. A
potential problem exists if you only have one file in the directory and you
view the icon. The icon will display, but you won't be able to change
directories because the Directory listbox will be hidden, but you won't be able
to unhide it because you won't be able to click on a new file in the file
listbox. Whew, that's confusing! You can get around this by switching drives,
or using your QuickDir.
One last item is the Quick Dir listbox. Go back on click on Quick Dir for the
description.
ΓòÉΓòÉΓòÉ 2.1.2. Saving an Image ΓòÉΓòÉΓòÉ
The File Save dialog is pretty simple but deserves some explanation. The Quick
Dir listbox needs some detailed explanation that can be accessed by clicking on
Quick Dir. Drive, Directory, and Files are listings or displays of what is
currently available. You can enter any valid directory/path combo in the Save
as: entry box. The file listing is for information purposes mostly, but if you
do click on the file it will become the entry in the Save as: box.
When you select a file type, that appropriate extension is added to or changed
for the text in the Save as: entry field.
There are many file types available and are listed in the Formats listbox.
Each has their own unique characteristics, but for the uninitiated GIF and
Jpegs are the most commonly used formats. In addition to formats that are
built-into JView, you have the option of tying into the file formats that come
with Warp's BonusPak. See Additional File Formats for details. Some of JView's
built in formats have options relating to how the image is saved. If the
selected format has options associated with it, the Options button will become
enabled allowing you to make the appropriate choices.
There are five options located at the bottom of the dialog. Save at displayed
size will write the image at whatever resolution the image is currently being
displayed with. This is contrasted with the resolution that the image is
stored in memory as. See Viewing Strategies for details.
The second option is to Save at Low Priority. Since JView is multithreaded you
can save a file and while it is being written to disk, you can go ahead
(yippy!) and start to load a different image. Low priority will write the
current file a little slower (in theory anyway) so that you (or other
processes) can use the CPU to do more important things, like loading/looking at
another image. (See the discussion about Low Priority Threads). Only one
image can be saved at a time. You can only save one file at a time. During
the time an image is being saved the border of JView will turn red or blue
depending on whether JView is the active application. When the save is
complete, JView will return to its default border colors. In this way you will
know when a file save is complete. If you try and exit JView before a save is
finished, you will get a warning message and the option of finishing the save
before termination.
The third option is Iconify which will create an icon version of the image and
make it the icon for the file. This way you get an image that is just big
enough for you to get an idea of what the file is like. See the iconify
description for important details. When iconify is selected here, you do not
get to use a selected area to indicate what area of the image becomes the icon,
the whole image is used.
The fourth option is Selected Area, and is only available if you have selected
a region of the current image. If you have such a selection region active and
you check this option, only the selected region will be saved.
The fifth option is Zoomed Area and will only be available if you are currently
zoomed into your image. By checking this option, only the zoomed section of
the image will be saved, otherwise the entire image will be saved. Note that
if Selected Area and Zoomed Area are both available, checking Selected Area
will caused Zoomed Area to be ignored.
Colors The colors option will cause the image to be saved in the appropriate
number of indicated colors. The saved imaged is affected, but the current
image will remain unchanged.
ΓòÉΓòÉΓòÉ 2.1.3. Printing ΓòÉΓòÉΓòÉ
The quality of the prints you create will be function of trial and error at
first. On black and white printers you may wish to convert the image to black
and white or gray before using some of the more advanced tools available.
Experiment at first so that you gain a feel for how best to manipulate your
images for optimum printing.
Printing is fully multi-threaded so that you may immediately begin another task
after initiating a print job - even loading in a new image.
The challenging part about printing is to do so without distorting your image
inadvertently. This is why there is a readout (Aspect Ratio) on the top of the
print utility showing how much the image will distort if it is printed as
currently configured. In this context distortion means the aspect ratio is not
0. Usually you will want to make the Aspect Ratio zero, but that's up to you.
The Aspect Ratio readout tells you how much your image is being squished
because of the margins you have called for. Basically, 0 means that your image
will print true, while positive values indicate the sides are squished in, a
negative value means the top is squished down.
You select a printer by clicking on the appropriate printer name shown in the
Printers listbox. Double clicking on the printer will allow you to edit its
defaults. In the main Options dialog you have the option of specifying a
default printer. If none has been selected, the system default printer will
initially be selected. If you modify the settings or change printers, those
changes will remain in force for the entire session, but are discarded after
the JView is closed.
You have the ability to specify four distances, the left and top margins and
the width and height of the image. Additionally, you may modify the colors
that will be used for printing. If you choose black and white, a Floyd
Steinberg black and white dither is applied. If you choose to go from 24 bit
to 8 bit color, the method for conversion will depend upon that which has been
chosen under the general options configuration for doing 24 to 8 bit
quantization.
Several options are available. Landscape will cause the paper to be rotated 90
degrees, so instead of your paper being 8.5 by 11 inches, it would be treated
as 11 by 8.5 inches.
Invert BW will swap the colors black and white in a black and white image. The
reason for doing so is often people use a black background when creating an
image, but printing almost always takes place onto a white paper.
Postscript options allow you to bypass the OS/2 print system and directly
create an encapsulated postscript file. The indicated filename will be used.
Raw postscript cannot be viewed by most applications. Preview places a
viewable version of the image into the EPS file, so that another application
can show the user what the EPS will look like. Compress will compress the EPS
file to minimize the size of the file.
ΓòÉΓòÉΓòÉ 2.1.4. Image Information ΓòÉΓòÉΓòÉ
This command brings up a window that shows information about the currently
displayed image. The information consists of:
o The Filename
o Format of the image file and filesize
o Resolution of the image in memory
o Resolution of the image as displayed
o Color information
o An box that occasionally will show warning messages, you can use the
arrow keys if the information isn't all displayed
o A history list box of manipulations that have been performed on the
current image.
The Information Box will remain visible until JView is exited or until the
Hide button is pressed.
The information categories are pretty self explanatory, but for clarity
Resolution refers to the resolution of the image as it is currently stored in
memory, while Display Res. is the resolution at which the image is currently
being displayed.
ΓòÉΓòÉΓòÉ 2.1.5. SlideShow ΓòÉΓòÉΓòÉ
Slide Show is used to display a series of chosen images; either a new image is
displayed after a certain amount of time or after a certain signal is given
(manual mode). There are three ways to start a slide show. One is to use the
Slide Show option. Two is to drag a JView slide show file onto JView or to
open such a file with the Open File dialog. Three is to drag and drop multiple
files onto JView.
The Drive listbox changes the current drive.
Quick Dir is explained elsewhere.
Directory is a listbox of the current directory. Selecting an item in this
listbox will cause a change to that directory.
Note: Selecting the current directory will deselect all the files highlighted
in the Files listbox.
The basic idea is to select a file that you want included in the display. You
can select a specific file by clicking on it in the File list box or you may
select multiple files at one time. A file is selected when it is highlighted.
Note: If you double click on a file, it is immediately selected into the
Selected Files listbox.
If you have mistakenly highlighted a file, clicking on it again will
de-highlight it. In addition to going after individual files in the Files
listbox, you may use any or all of the four buttons located below it. *.gif
will highlight all files that have the .gif extension. Similarly for *.jpg
while *.* selects everything. The Mask-> button will take whatever you have
entered in the entryfield to its right and use it for finding files. You DO
NOT use wild card symbols here (*, ?).
Example: Using .gif as the mask would highlight all files that have .gif in
them. This would include
JView.gif
myfile.old.gif
1.gif.jpg
Using t as the mask would select any file with a "t" in it.
Once you have highlighted a file, hitting the Add-> button will select it into
the Selected Files listbox. The files listed there are the ones that will be
used in the actual slide show.
If you have decided that you don't want to include a file that is listed in the
Selected Files listbox, highlight it and use the <-Remove button to eliminate
it.
Note: You can select multiple copies of the same file into the Selected Files
listbox.
The Start button will begin the slide show.
Two additional functions are Save and Load. These are for storing and
retrieving a SlideShow file selection. When a Slide Show file is saved, all
the files listed and the current Slide Show options are stored. The default
extension for the file created is .sls but any file name can be used. When
loading a file, all entries are placed into the selected listbox, including any
that are already listed. The Slide Show options are updated to those that were
in the file, if any existed. You can also start a Slide Show by selecting a
Slide Show file from the File Open Dialog or by dragging and dropping such a
file onto the JView icon or dragging and dropping multiple files onto JView.
Be aware that you can modify your selected options even when SlideShow is
running by selecting Options off the Main PopUp Menu.
Note: When JView is minimized the SlideShow will pause after the next image
has been read in.
You can skip ahead to the next image in Timed mode by double clicking with the
left mouse button or hitting the N key.
ΓòÉΓòÉΓòÉ 2.1.5.1. SlideShow Options ΓòÉΓòÉΓòÉ
Advancing to the next image can be caused by either a time trigger or by a
manual trigger. The Time interval between images entered in the appropriate
entryfield, but this field is ignored if you select manual mode. The actual
time interval is calculated from the time the most recent image is displayed
until the next image will start to be read. Because of time it takes to read
an image, the actual interval between image displays may be quite different
than that requested.
There are five different ways of having the image displayed. The first three
are grouped together because they can additionally be forced not to change
their window size. The fixed window size option does not affect the other two
options. Keep True Aspect Ratio, Aspect Ratio can Distort, and Use Scroll Bars
will resize the display window up to the size of the screen with each new file
load unless Fixed Window Size is specified. Keep True Aspect Ratio will always
display the image in its correct height vs width ratio. If Fixed Window Size
is selected, the image may be padded with black space on the sides or top and
bottom as needed. Aspect Ratio can Distort will resize the window to the
correct size if Fixed Window Size if NOT selected. Any subsequent resizes of
the current image will force the image to fit inside the window. If Fixed
Window Size is selected, the image will always fit exactly into the window. Use
Scroll Bars will use scroll bars to control the display of the image when it is
too large for the display window.
The alternative two display options are size limited. Auto Resize with
Constant Width will always keep the image at the current width of the window,
small images will expand appropriately while large ones will shrink. The upper
left corner of the window is considered fixed, while the base is allowed to
float. In this way the window will resize (as far down as the bottom of the
screen) to keep the aspect ratio correct. If the correct aspect ratio cannot be
achieved because the image would be too large, the image width will be padded.
Auto Resize with Constant Height is similar except the height of the window
will not change. Again, the upper left corner is considered fixed and will not
be moved by JView. The window will expand to the far right side of the screen
if needed.
The Loop option will cause the slide show to begin over again once all the
images have been cycled through.
Randomize files will cause the slide show images to appear in a random order,
otherwise they appear in the order listed in the Selected Files listbox shown
in the SlideShow dialog.
You can also specify whether you want the Slide Show to run at low priority.
This way your other applications will not be as affected during a file read.
See the discussion about Low Priority Threads.
Finally, you can specify that images will only use the default System Colors.
The advantage of doing this are two fold. First, if you machine is only
capable of displaying 256 colors or less, this will keep JView from
manipulating the palette and possible disturbing the displays of other
applications. Secondly, using the system palette will force all images to be
stored at an 8 bit color depth. This can reduce the amount of memory required
to hold an image by up to a factor of three.
While not an option that can be specified here you do have the ability to use
the Float function once the Slide Show has started. Access the command by
using the right mouse button.
Any of these options can be changed while the SlideShow is running. Use the
right mouse button to bring up the appropriate menu.
ΓòÉΓòÉΓòÉ 2.1.6. Batch Conversion ΓòÉΓòÉΓòÉ
This feature allows you to convert a series of files from their current format
style to a new type. The operation of the dialog is virtually identical to the
SlideShow Dialog so you should first familiarize yourself with its operation
before proceeding.
The differences between the operation of the SlideShow Dialog and the Batch
Conversion Dialog are found in the Options. When Options is pushed, a new
dialog is presented and this is where all the significant information is
entered.
One other change with the Batch Conversion is the Close When Done checkbox
located near the Help button. Unlike the SlideShow which exits after the show
has completed, the Batch Conversion will return to the dialog so that another
round of conversion can be commenced. This checkbox allows you to specify
whether or not the conversion will be a onetime event.
ΓòÉΓòÉΓòÉ 2.1.6.1. Batch Conversion Options ΓòÉΓòÉΓòÉ
The layout and functionality of this dialog is somewhat similar to the File
Save Dialog. Since batch conversions are a more advanced feature than saving a
single file, it is assumed that you are familiar with the methods involved in
saving a single file.
The options unique to batch conversions deal with what should be done with the
files in question.
Delete source file will cause the file that is being read from to be deleted if
the conversion is successful. Obviously, this should not be used on critical
files. It is safer to do your conversion, verify that the conversion was
successful and then delete the original files.
Warn on overwrite and Overwrite target are mutually exclusive options. With
Warn on overwrite selected, if a file exists with the same name as a file that
you are trying to create with the conversion, you will be prompted about
whether to overwrite the file. This will prevent you from inadvertently losing
a file. Selecting Overwrite means that you know what you are doing and any
file that already exists will be overwritten without protest.
The Options button functions exactly the same as with the File Save Dialog, it
refers to specific options associated with the specified file format.
ΓòÉΓòÉΓòÉ 2.1.7. Iconify & UnIconify ΓòÉΓòÉΓòÉ
This little puppy allows you to associate a miniature version of your image or
part of your image with the image file. The icon is placed in the extended
attributes of the file and (depending on the resolution you have set, See
Options) adds about 5K to the file length. When you open the drives
application, all the images that you have iconified will have little itsy-bitsy
versions of themselves displayed. You decide the resolution for the icon. (As
far as the drives application goes, the resolution that the icon will be
displayed at is a function of your screen resolution. For instance, if you use
a 640 by 480 screen, icons are displayed at 32 by 32 pixels, while 1024x768
screens get icons of 40 by 40.)
The icon information is also displayed when you use the "I" key on the open
file dialog. This will expand the icon to display at 100 by 100 pixels.
Normally the entire image is used to make the icon, but if a region has been
selected only that part of the image will be used.
UnIconify will delete the icon information from the image file.
ΓòÉΓòÉΓòÉ <hidden> Default Image ΓòÉΓòÉΓòÉ
This command will cause JView to clear whatever image is currently in memory
and load JView's default image instead. This is useful when you don't wish to
exit JView, but at the same time don't want to tie up the memory and screen
space associated with a large image.
ΓòÉΓòÉΓòÉ <hidden> Quit ΓòÉΓòÉΓòÉ
What the heck are you thinking! Quit - it quits the bleedin' program.
ΓòÉΓòÉΓòÉ 2.2. Edit ΓòÉΓòÉΓòÉ
The commands listed under this heading are used to cause changes or
manipulations to the current image.
ΓòÉΓòÉΓòÉ 2.2.1. Resize ΓòÉΓòÉΓòÉ
Resizing is fairly self explanatory. If you select one of the screen sizes,
the image will be either scaled up or down to exactly fill that screen size
without distortion (the image will not be padded, rather one dimension will fit
while the other will fit exactly or be left too small).
If you choose not to use a screen size, you can specify any Custom size. If you
check Keep aspect ratio true, amazingly enough the aspect ratio will remain
constant.
You have two choices for the method used to resize. If you select Bilinear
Blending, approximations to a given pixel will be calculated by creation of a
grid mapping the old pixels to the new. The effect is that the pixelization
effect that occurs when images are scaled up by large factors will not occur.
The image will become slightly blurry though. It is also a time consuming
method. If Bilinear Blending is not selected, then a much quicker method is
used.
If you are running Bilinear Blending you will have the chance to abort the
process by hitting the Cancel button.
ΓòÉΓòÉΓòÉ 2.2.2. Copy and Paste ΓòÉΓòÉΓòÉ
The pathway to the copy and paste commands.
ΓòÉΓòÉΓòÉ 2.2.2.1. Copy... ΓòÉΓòÉΓòÉ
Copy to the clipboard. The image will be copied to the system's clipboard. If
your image is 8 bit, you will be asked whether you also want to copy the
image's palette. Some applications don't look for a palette and so the image
will get a distorted colormap if you tell JView to include the palette. If you
don't copy in a palette, JView will convert the image to the system colors.
This is only a concern if your system is running in 256 color (8 bit) video
mode.
If a cropping region is present, only the image inside the cropping region and
under the cropping lines gets copied. If the region isn't rectangular, the
areas outside the region up to an enclosing rectangle will be padded with the
color specified under the Options notebook.
ΓòÉΓòÉΓòÉ 2.2.2.2. Copy Special ΓòÉΓòÉΓòÉ
Copy to the clipboard using JView's own special format. If you are planning on
doing cut and paste between JView applications then use this method instead of
regular copy. All colors and crop regions are preserved.
ΓòÉΓòÉΓòÉ 2.2.2.3. Paste ΓòÉΓòÉΓòÉ
Paste from the clipboard. Whatever image JView is currently displaying will be
lost.
ΓòÉΓòÉΓòÉ 2.2.3. Set Color Type ΓòÉΓòÉΓòÉ
Just like an image can be stored in a variety of file formats, it can also be
stored in a variety of colorspaces. This command specification tells JView how
you want an image to be treated.
Specifying Grayscale will force the image to be made up of 256 distinct shades
of gray. Because the colors are limited to shades of gray, each pixel will
take-up only 1 byte of memory and yet still be able to address all possible
grayscale colors.
Palette also limits the image to a maximum of 256 unique colors. Unlike
grayscale, these colors can be any color, not just shades of gray. This means
that the colors are by definition a subset of all colors available. Thus, the
image is limited in the quality of the image. The advantage to using a palette
is that (like grayscale) each pixel only takes 1 byte of memory.
RGB allows the image to contain any available color, up to 16 million different
ones. The price for this is that each pixel now takes 3 bytes of memory to
store - three times as much space as either Grayscale or Palette. This is the
reason for using Grayscale if you know that your image doesn't need to have
color.
This setting isn't of particular use except when using editing functions
available outside the JView base product.
ΓòÉΓòÉΓòÉ 2.2.4. Cropping ΓòÉΓòÉΓòÉ
Commands related to cropping the image.
ΓòÉΓòÉΓòÉ 2.2.4.1. Simple Crop ΓòÉΓòÉΓòÉ
Crop will delete all the areas that are outside the currently selected region.
You can use any crop (selection) style that you like, not just rectangles. If
you are using a crop method besides rectangles, blank areas of the image will
be filled in with the default background color specified in Options.
ΓòÉΓòÉΓòÉ 2.2.4.2. Auto Crop ΓòÉΓòÉΓòÉ
In the options dialog you can specify a default crop value or tolerance. This
value is used by Auto Crop to do its cropping. The theory of auto cropping is
that you have an image with borders on it that you wish removed. If the
borders are a single color that is different than the colors used in your
image, they can be easily detected and deleted. What Auto Crop is looking for
is an obvious transition point or gradient in your image. The cropping value
mentioned above comes into play because the borders may not be uniform in
color. See Custom Crop for an explanation of the value mentioned above.
Remember you can always Undo it if doesn't meet your expectations.
ΓòÉΓòÉΓòÉ 2.2.4.3. Custom Crop ΓòÉΓòÉΓòÉ
Custom Crop performs the same function as Auto Cropping mentioned in the
previous section, except is does it in a more controlled setting. Unlike Auto
Crop, you can specify the tolerance value and also iteratively undo the
results.
The tolerance value works based on the premise that if a given row or column of
your image is mostly one color, then it is probably a border and should be
deleted. What is mostly? That is where the tolerance comes in. The tolerance
is a percentage of the pixels in question being uniform in color. For
instance, if you have a tolerance value of 100, then you are saying that all
the pixels in question must be the same color. A value of 95 means that up to
5% of the pixels can be different from one another but at least 95% need to be
the same color. If the pixels vary too much then the line is ignored.
ΓòÉΓòÉΓòÉ 2.2.5. Flip ΓòÉΓòÉΓòÉ
Depending on the option selected, the current image is flipped (mirrored)
either vertically or horizontally.
ΓòÉΓòÉΓòÉ 2.2.6. Rotate ΓòÉΓòÉΓòÉ
Rotation of the image is either clockwise or counterclockwise. Rotation takes
place in 90 degree increments. To undo a rotation simply pick up your monitor
and rotate it 90 degrees in the opposite direction.
ΓòÉΓòÉΓòÉ 2.2.7. Undo ΓòÉΓòÉΓòÉ
Undo allows you to reverse the changes that have been performed on the image.
Undo works on a circular list principle. Thus, as you repeatedly hit undo you
travel backwards along the list until you run out of levels of undo. At this
point you are transferred back to the beginning of the list. The net effect of
this is that you can Undo your Undo.
ΓòÉΓòÉΓòÉ 2.3. Selections ΓòÉΓòÉΓòÉ
This command brings up two menus, all related to the creation and use of
selection (crop) regions. First off, what is a selection region? A selection
region is a path that outlines part of the image. It is always a closed path.
A path is initiated by pressing the left mouse button at the point on the image
where the path is to begin.
There are several different Methods that can be used to create a path. The
first is Rectangle. This method allows the user to specify a rectangular (or
square) path. Once the path has been created, it can be adjusted by dragging
on of the control points (the black and white squares along the perimeter) or
it can be translated by dragging the center point.
The next Method is Ellipse. This function exactly the same as Rectangle,
except the outline is elliptical.
Next is Freehand. Freehand allows the user to specify any continuous path they
desire. This method requires the use of both the left and right mouse buttons.
The user begins the path by pressing the left mouse button and keeping it
depressed during the entire path creation. The user then move the mouse
pointer to the next point along the desired path. At that time, they depress
the right mouse button to add that point to the path. Optionally, the user
could keep both the right and left buttons depressed to draw a path that
follows the movements of the mouse exactly. If the user decides that a point
is draw incorrectly, they may hit the escape key to remove the most recently
added point.
Finally, the Magic method is available. Magic automatically determines the
area of interest. With Magic you only select a starting point, you do not
manually outline the area of interest. The best way to imagine this is white
region on a black background. If you were to select a point in the white
region, Magic would explore the region until if detected the transition to
black. This boundary would become the selection region. Because not all
images will be black and white, a tolerance level is used. This tolerance is
specified using Set Magic. Thus, instead of looking for black/white
transitions, a high tolerance would detect a subtler gradient.
You also have the option of turning selection completely off. This is
accomplished by choosing None.
There are several Options available. Set Magic was explained in a previous
paragraph. Turn Off simply turns off the currently selected region. This is
not the same as setting the selection method to None. The type of selection
method does not change by turning the selection off.
The final option is Storage of a selection path. This allows you to define
multiple paths and switch between them. Do be aware that these paths will
remain even when a new image is loaded. This allows the user to define a path
on one image and then to use it on another - but great care must be taken when
these images are of different sizes.
ΓòÉΓòÉΓòÉ 2.4. Magnify ΓòÉΓòÉΓòÉ
This specification is only valid when the display method is to Use Sliders.
Magnify simply expands or shrinks the image by the factor indicated. This is
for display purposes only, the actual image in memory is unaffected. This is
different than Zooming, because the entire image is affected.
ΓòÉΓòÉΓòÉ 2.5. Zoom ΓòÉΓòÉΓòÉ
Zooming in involves selection a region of interest. This region is then
isolated (for display purposes) from the rest of the image. Zoom and Magnify
can be used in conjunction. Some care must be taken when performing operations
on a Palette style image. With a palette style image, changes made to the
color scheme of the zoom region will affect the entire image, even though this
may not be evident at the time of the operation. Zoom Out undoes the zoom in.
ΓòÉΓòÉΓòÉ 2.6. Miscellaneous ΓòÉΓòÉΓòÉ
Generally commands in this group are used infrequently and/or deal more with
presentation issues than specific images.
ΓòÉΓòÉΓòÉ 2.6.1. Options ΓòÉΓòÉΓòÉ
For the main Options Notebook you check or fill in the various selections as
you see fit and then select the action you would like with one of the four
buttons on the bottom of the notebook. Those buttons are:
o Apply (Options become active, but are not saved)
o Save (Options saved but not applied)
o Cancel
o Help
ΓòÉΓòÉΓòÉ 2.6.1.1. Cropping ΓòÉΓòÉΓòÉ
These choices relate to the creation of cropping regions/paths and
auto-cropping.
Auto cropping is a method of having the computer decide when boundary areas
should be cropped. The value here is the default value for use when
auto-cropping.
Background color refers to the color that will be used as fill when a
non-rectangular crop if performed. The values entered represent the color in
RGB space where each value of red, green, and blue varies between 0 and 255
with all 0 being black and all 255 being white. Double-click on the colorwell
to edit the Background Color.
ΓòÉΓòÉΓòÉ 2.6.1.2. Directories Option ΓòÉΓòÉΓòÉ
If you usually like to save your images in the same directory, specify a drive
and directory here. Each time you save a file, this directory will be the
default. Leave blank to have this ignored. The entry must be in the form of
drive and directory (c:\images).
Where would you like to start looking for images on startup? Leave blank to
start in current directory. The entry must be in the form of drive and
directory (c:\images).
For a detailed description of what Quick Directories do see Quick Dir. To Add
a directory, hit the Add button. To delete an entry, select the directory you
want to remove and hit the del button to remove that selection.
ΓòÉΓòÉΓòÉ 2.6.2. Display Options (Window Sizing) ΓòÉΓòÉΓòÉ
These are options which apply to how the images are displayed.
Images can be shown so that the window is scaled to reflect the size of the
image each time it is loaded - this would mean making Fixed Window Size
unchecked. With Fixed Window Size on, the window will not resize when a new
image is loaded.
Scale, keep true perspective means the width to height ratio remains constant.
The image gets padded with black if the image will not correctly fit into the
display window. With Scale perspective can change you can stretch the image
to fit the window.
Use Scroll Bars allows the use of scroll bars. This is used in combination
with a zoom factor. No scaling of the image takes place (other than the
specified zoom), the scroll bars are used if the image is larger than the
available window size. This is the method most applications (such as a word
processor) use when the amount of information to be displayed is larger than
the available screen space.
ΓòÉΓòÉΓòÉ 2.6.3. Icon ΓòÉΓòÉΓòÉ
When you choose to iconfiy a file, the resolution you indicate here is used.
Higher resolution will yield better looking results but will use more storage
space. To get an idea of how much space the icon information is using, do a
directory listing of the file in question and look at the size of the extended
attributes. The majority of the extended attributes size will be due to the
icon. The numbers you choose here refer to the resolution of the icon.
ΓòÉΓòÉΓòÉ 2.6.4. Memory Options ΓòÉΓòÉΓòÉ
The purpose of the Memory Warning Size is to keep OS/2 from killing your hard
drive. Image files are unique in that they can represent a large amount of
information in a very small file by using compression techniques. When you try
and read a file that calls for a display resolution of 10,000 by 10,000 in 24
bit mode, then JView will need approximately 300 megabytes of memory to display
it. OS/2 will try and allocate that memory by use of virtual memory and will
most likely crash your system and possibly take out a few files in the process
(this is less a problem under Warp than older versions of OS/2). To prevent
this, this option checks requests for memory against a limit that you specify
here. If the request is larger than the limit, you have the choice of aborting
the operation or continuing on. Generally you want a size consistent with the
amount of physical RAM memory on your machine. Thus, if you have 32 megabytes
of RAM, a Warning Size of 20 megabytes is reasonable. If you only have 8
megabytes of RAM, a warning at 5 megabytes is prudent.
Memory Check is two parts, a memory size field and a drive entry field. The
drive field should contain the drive (letter) that you currently have your
swapper.dat file residing. (If you don't know you can look in your Config.sys
file for SWAPPATH=, it is usually your primary hard drive, C). The memory size
is in bytes, and the default is 5,000,000 (5 Megabytes). Change the value
depending on your system configuration. The value entered here will be the
maximum size of memory to be requested before the warning message is shown.
Low Memory is fairly esoteric and involves ways images are displayed. It
should be set ON unless you experience problems when displaying images.
ΓòÉΓòÉΓòÉ 2.6.5. Misc Options ΓòÉΓòÉΓòÉ
Check for OS/2 Image Readers on Startup See the Optimizations Section for an
explanation of this function.
Show Image Info on Startup Will show the image information dialog upon
startup. See Image Infomation.
Show Load Progress shows the current status of file loading, basically a
percentage of image loaded. Shown in the window title bar. Some File formats
may not show this. When dithering (quantizing) takes place, messages to that
affect will be displayed in the Title Bar.
Empty Clipboard Upon Exit When JView puts images into the clipboard (either
regular or special) they take up a lot of memory. These images will remain in
the clipboard until some application removes them or OS/2 is shutdown. This
option will empty the clipboard whenever JView is exited.
File Has Changed Warning Enabling this option will cause you to be notified
when you are about to cause all changes made to an image to be lost. This
would happen if you resized the image and then tried to exit JView without
saving the file first or tried to load in a new image.
Load Optional Dlls on Startup See the Optimizations Section for an explanation
of this function.
No Title Bar On Startup will, surprisingly, either turn on or off the titlebar
when JView first starts up.
Serendipity This is a compatibility feature that causes JView to take on a
style of appearance that was found in its predecessor, JoeView. It affects
aesthetics only and offers no performance gain or penalty.
Alt + Space Bar to Minimize The combination of the Alt key + space bar can be
used as a hot key to minimize JView - a panic key combination if you will.
This might be undesireable to some, so this can be turned on or off. This hot
key combination works with virtually all dialogs and when activated minimizes
all windows associated with JView.
Bugs are a term used in the software industry to describe a type of
electrobio-organism that is found in the silicon chips that are present in many
of the components of your computer system. These creatures, referred to in the
trade as tribbles, exist at the electron level and so can't be seen by the
human eye. They subsist on the silica on which all electronic chips are made
and use the cycling of your computer system (turning on and off your computer)
to drive their reproductive cycles (when your computer is off they are
"hibernating" and when it is on they go into a reproductive mode - their
"spring" if you will). It is for this reason that many professional computer
users leave their machines on all the time, without the cycling the tribbles
won't reproduce and so the amount of bugs is reduced. As you know, bugs can
cause a program to crash ; they do so by interfering with the electrons flowing
through the circuits of your computer. A misdirected electron can collide with
another electron, which hits another and soon a cascade effect results wherein
your computer loses its ability to regulate the matter - antimatter flows and
so must abort in order to prevent damage. The Bugs parameter here is an
indication of the amount of tribbles you believe are present in your system.
The Intel 486 line almost always has around 4000, and so the value of 4 should
be entered. The higher performance processors, like the Pentium (Tm Intel),
contain many more transistors and so have correspondingly higher amounts of
bugs - 8000 is a good guess and so a value of 8 should be used. JView uses
this information to try and anticipate the cascading affect mentioned above -
if the cascade is caught early enough it can be diffused by briefly going to
impulse power. The details of the techniques used are presented in fascinating
detail in two seminal sources :
Kirk, J. T. and Spock, M. The Trouble With Tribbles, Federation Press, S.D.
1098274-5.
and (the following paper is in Gaelic, at the time of this help file's writing
no English translations were available)
McCoy, Dr. L., "Damma, Imadoc Tornota Programmer", Proceedings from Romulan
Acad. Conf., vol. 284, pp. 345-346, 2195.
ΓòÉΓòÉΓòÉ 2.6.6. Open Options ΓòÉΓòÉΓòÉ
The majority of these settings are described in Open Dialog.
The major option not covered there is the File Mask. This is the value that
will be loaded into the File Open Dialog File Mask upon startup. Wild cards
are valid and you can separate groups by either a space or a ;, for example
*.bmp;*.gif;*.jpg or *.bmp *.gif *.jpg are both valid. There is a slight speed
penalty for each additional group.
ΓòÉΓòÉΓòÉ 2.6.7. Palette Options ΓòÉΓòÉΓòÉ
Three possible options are available regarding palettes.
First you can Overide System Colors This allows JView to cream the system
colors when you are running in 8 bit (maximum of 256 colors) mode. These are
the colors used for dialogs, menu text, etc. There are not that many of them,
roughly 20. The colors that the application can't place are mapped into the
closest ones the system will display. Usually the increase in image quality is
insignificant, but you might use this option if you are not going to look at
other applications while JView is running.
Next comes Aggressive on Palette. JView loves to fight for the colors it is
using. If another application starts changing the palette this option will
cause JView to try and change the colors back every now and then. If you are
working with another application it can get annoying having the colors flash
and the system will slow down somewhat. This choice is relevant only if your
system is operating in 8 bit mode.
You can use a hot key to cycle this on or off. When you do so JView will beep
a high tone when you turn it on, a low tone when it is off.
Even if Aggresive on Palette is off, whenever you make JView the active
application the palette will reset to the correct colors.
The above two options only affect how the image is displayed. The actual
colors that make up the image in memory are not affected by these choices.
Display Using System Palette actually changes the colors that make up the
image. The option will cause the image that is loaded to be displayed using
only the colors that the system has in its default palette. The method used to
convert to the system colors is a Floyd Steinberg error diffusion which yields
pretty good quality and has the advantage in that JView will not affect other
applications by resetting their palettes. Also, multiple versions of JView can
be run and each one will not interfere with the others. Since this will
actually change the colors of the image (not just the displayed colors) don't
use this to read and then save files if you want a true conversion. As with
the above options, this option should only be used if your system is running in
8 bit mode.
You also have the option of choosing the maximum number of colors and image can
have. The choices are 256 (8 bit) and 16.7 million (24 bit). This is really a
function of what your video system is capable of handling.
The Gamma of your display system is a way of expressing how bright colors are
displayed on your system relative to other systems. For instance, most PCs have
an overall value of 2.2 (which is your default value) while many Macintosh (Tm
Apple) systems have a value close to 1.0, in fact they can even change their
gamma for display purposes. So a problem can arise where an image that
displays fine on a Mac will seem muted on a PC. To counter this problem some
file formats allow a gamma specification to be included so that the system will
know the image's intended gamma display value. With such formats the gamma
value entered here is used to adjust the image.
*-------------------------------------------------------
ΓòÉΓòÉΓòÉ 2.6.8. PhotoCD Options ΓòÉΓòÉΓòÉ
If you have installed the library Dlls to read the Kodak PhotoCD file format,
you will find that various resolutions are supported. Use the correct option
here to specify which resolution you wish the file to be loaded as.
ΓòÉΓòÉΓòÉ 2.6.9. Printer ΓòÉΓòÉΓòÉ
Choose the printer you wish to use as the default by double clicking on the
appropriate printer.
As was discussed in the Options section regarding displays, all output devices
have a gamma associated with them. Here you can specify the default gamma to
be used when printing an image.
ΓòÉΓòÉΓòÉ 2.6.10. Dithering/Quantizing Options ΓòÉΓòÉΓòÉ
These are the different ways that a 24 bit image will be converted down to 8
bits. These do not apply to the initial loading of JPEG files, it has its own
options.
o Gray The fastest way. Converts image to grayscale. Good for previewing
new pictures.
o Quick The fastest color way. Not too bad but image degradation will
occur. Image is mapped into a fixed 256 color palette. Use this one for
fast color previews. The others (below) are better but much slower.
o Compromise Good compromise between speed and quality. It doesn't do a
great job if the image has 10's of thousands of colors. You have the
option of using error diffusion with this method, which will often
improve the look of the image.
o Best This implements Heckbert's Median Cut algorithm. The best of the
methods and also the slowest, especially when error diffusion is
selected. Based on code by Jef Poskanzer (ppmquant.c - quantize colors).
Using the error diffusion option will usually produce noticeably better
images. This is more true for "real life" images than for cartoon types of
images.
Quantizing (reducing down to 256 colors) isn't always needed and it is much
faster if quantizing can be avoided. You have the ability to specify whether
the image data should be checked to see if it contains more than 256 colors.
If the images you will be looking at will mostly/always have more than 256
colors you should not do the checking as it will be a waste of time. If the
images are almost always 256 colors or less then doing the check will speed up
file reads and assure that the images are not degraded by needlessly
quantizing them.
ΓòÉΓòÉΓòÉ 2.6.11. Toggle Title Bar ΓòÉΓòÉΓòÉ
Toggle Title Bar will turn on and off the main title bar. Note that you can
NOT MINIMIZE JView when the Title Bar is off.
ΓòÉΓòÉΓòÉ 2.6.12. Float ΓòÉΓòÉΓòÉ
An interesting little function. It is on when there is a check mark by this
entry in the menu. This causes the main (image) window to stay on top of all
other application windows. Thus, when you are typing at your word processor,
the JView window will stay on top of the application, but the application will
still be active, and thus getting keyboard and mouse inputs! Well, some of us
here like it anyway. Slight hit on the old CPU but it doesn't seem too bad.
You can use the F key to toggle it on or off. Its especially nice to turn on
Float when running a slide show; just put JView in a corner just to keep things
interesting.
ΓòÉΓòÉΓòÉ 2.6.13. Refresh ΓòÉΓòÉΓòÉ
This simply causes the image window to be repainted.
ΓòÉΓòÉΓòÉ 2.6.14. Save Window Positions ΓòÉΓòÉΓòÉ
Save Window Positions will store the current window locations of JView. This
includes the File Open Dialog, the Information Dialog, and the main image
window. These stored positions will be used at startup.
ΓòÉΓòÉΓòÉ 2.6.15. Move Window ΓòÉΓòÉΓòÉ
This mimics the effects that result when the system menu command Move (Alt +
F7) is used. The reason that it is duplicated here is that if you turn off the
Title Bar the system menu disappears and you would lose the ability to move the
window.
ΓòÉΓòÉΓòÉ 2.6.16. Create JView.dth ΓòÉΓòÉΓòÉ
Create JView.dth file. This file is needed to convert images so that they
effectively use the system colormap (your default palette). The process will
take around a minute, depending on your system. You may specify low or high
CPU usage and can abort the process at any time. The file created is used in
conjunction with the JView.pal file. To assure an accurate map of the system
colormap it is imperative that before you run this option that you shutdown
JView and ANY OTHER GRAPHICS PROGRAMS. Next, delete the file JView.pal. Now
you can startup JView and run this option. You will only need to run this
option once or whenever you change graphics cards. While the file creation is
running you may use your computer as you normally would, even for running other
graphics applications. You will probably experience sluggishness until the
process has finished unless you choose low CPU use.
ΓòÉΓòÉΓòÉ 2.6.17. Load Add On... & Load OS/2 Image ... ΓòÉΓòÉΓòÉ
These two menu commands may appear depending on which options your have set for
JView. They are explained in Optimizing Performance.
ΓòÉΓòÉΓòÉ 3. Other Information / Hints ΓòÉΓòÉΓòÉ
No, the hints aren't here, go in one more level.
ΓòÉΓòÉΓòÉ 3.1. Controls ΓòÉΓòÉΓòÉ
There are several custom controls (controls you are familiar with are buttons,
checkboxes, etc.) that JView uses. There are described in detail in the
following subsections.
ΓòÉΓòÉΓòÉ 3.1.1. Control Definition ΓòÉΓòÉΓòÉ
Controls you are familiar with are buttons, checkboxes, etc. Because of
JView's specialized purpose, several unique controls have been created. These
controls are used for the input and output of information. Often this is color
related information. A control is not used for directly drawing on your image.
For example, a control is used to specify what color a paintbrush should be,
but it is not used to apply the paintbrush.
Virtually all JView controls that display color support dragging and dropping
of color by use of the right mouse button.
ΓòÉΓòÉΓòÉ 3.1.2. ColorWheel ΓòÉΓòÉΓòÉ
The colorwheel is a method of allowing you to interactively choose a color.
OS/2 uses one to allow you to choose palette information. They all work in a
fairly similar fashion.
The JView colorwheel displays a possible color in a three part process. The
first part is the wheel itself. The wheel shows a circle of colors that
represent the range of Hue and Saturation available in HSV colorspace when
intensity is equal to 100. The color slider (the vertical rectangle of colors)
represents the color selected in the wheel section with intensities ranging
from 0 to 100. The sample holder (the little circle of color beneath the
buttons) holds the actual color as created by the wheel and slider. You many
drag the color out of the color sample (use the right mouse button) or use the
Cancel and OK buttons.
You have the ability to enter colors directly by specifying their components in
a variety of color spaces by using the appropriate color space and values as
entered in the spin buttons.
You have the ability of finding a color anywhere on the screen by use of the
Find button. The color selected will be the color of the pixel under the mouse
cursor when the right mouse button is pressed down. Note that you do not have
to click the right mouse button, a slow press will work. When you use Find, a
magnified display of the area underneath the pointer is shown in the upper left
corner of the screen. While the right mouse button is being used to signal
selection of a color, the left mouse button can still be used for its normal
purpose.
If your system is running with an 8 bit display a button labeled Refresh will
appear. Because there may be a limit on the number of colors that can be
displayed at one time you may need to use Refresh to have the colorwheel's
colors not be distorted.
This sample holder supports drag & drop of colors with other JView controls.
ΓòÉΓòÉΓòÉ 3.1.3. ColorWell ΓòÉΓòÉΓòÉ
This control holds the color that is of interest to the user. The user may
drag a new color into the well, or they may double-click the left mouse button
to indicate that they wish to edit the color. If an X appears across the
control, it indicates that no color is currently selected into the control.
When the control is disabled, the raised edge will become a moat.
ΓòÉΓòÉΓòÉ 3.1.4. Curve Control ΓòÉΓòÉΓòÉ
The curve control has many variations which are controlled by the dialog that
owns the curve control at the time in question. For the user, the control is
manipulated by placing the pointer over the control point on the curve that is
of interest. The left mouse button is then depressed and the user drags the
control point to the desired location.
The type of curve presented can be a function of between 2 and 10 points and
can be linear or spline based. The curve can be changed by using the right
mouse button to bring up a popup menu which allows the user to select the
desired settings. In addition, curves can be saved or loaded.
The curve is used as a way of visually mapping one series of points onto
another.
ΓòÉΓòÉΓòÉ 3.2. Drag and Drop ΓòÉΓòÉΓòÉ
JView supports the dragging and dropping of an image file or slideshow file
onto either the JView Icon or onto a running version of JView. JView will not
accept drag and drop operations while a Slide Show is running or while a file
is currently being read. If you drag and drop multiple files at one time, the
files will be loaded into a slide show and started with whatever defaults are
currently selected as Slide Show options.
ΓòÉΓòÉΓòÉ 3.3. Installation & Setup ΓòÉΓòÉΓòÉ
You should have seen this in the readme file included with your distribution of
JView.
We have used the philosophy that JView will impact your OS/2 system with as
little change as possible so that if you ever decide to get rid of JView,
perish the thought, all you will need to do is delete the files in one
directory.
JView can be used as you got it without any system (config.sys) modifications.
For best results you should put the JView files in a directory that is included
in both your path statement and your libpath statement. JView does sometimes
create temporary files and because of this it looks to see if you have either a
TMP or TEMP environmental variable set in your config.sys. Lots of application
use these so you probably have them defined. If not, you can add one by
entering the line SET TMP=c:\os2\tmp (or whatever directory you want your temp
files stored in) in your config.sys file. This keeps your system nice and
clean so that you don't get random files popping up all over the place.
The last installation option is aimed at people working in a network
environment. You can put an environment variable called JVIEWINI that points
to a drive and directory where you want the JView.ini file to be stored. This
is also the place where the palette file (described below) and other JView
(permanent) files will be placed. If this variable is not present in your
config.sys, these files get placed in the same directory as JView.exe is
located. The main benefit of this option is that people running on a network
can have one of JView (exe, dlls, and help) located on a common drive with
each personal .ini files on each person's machine. In your config.sys this
would look like SET JVIEWINI=C:\IMAGES.
That's about the only change to your system that you can make regarding JView.
When you run JView the first time, two files will be created. The first is
JView.ini which contains information about your current configuration of JView.
The second file is JView.pal which contains the colors used in your default
system setup. The pal file is important when you are converting images to use
the system colors on an 8 bit system. When you run JView for the first time
(and create the pal file) you should have your system setup color-wise in the
way you will be using it. This means that no other palette changing programs
should be running at the time.
Other files included with JView are the help files and several script and REXX
example files. In addition, certain functions may create files. These should
always follow the standard of beginning with JVW or JView.
ΓòÉΓòÉΓòÉ 3.4. Key Help ΓòÉΓòÉΓòÉ
There are keyboard equivalents (hot keys) to most of the basic popup menu
commands. If a menu item has a hot key equivalent, it will be shown on the
right side of the popup menu. The one exception to this is for Magnify hot
keys, to keep the menu clean looking they are indicated by underlining the
indicated value. The use of single keystrokes is a slight departure from most
software where key combos (like Ctrl + O) are the norm. The reason for doing
this is it allows more keys to be assigned, and those key assignments tend to
be more logical. These hot keys are only valid when the main window is active.
They are:
A Auto Crop the image.
Alt+A Toggle Aggressive Palette. There will be a beep.
B Batch conversion.
C Crop the image.
Alt+C Custom crop the image using Custom Dialog.
D Load the Default JView image.
F ReFresh the image (repaint the window).
Ctrl+F Flip image Vertically.
Alt+F Flip image Horizontally.
H Help table of contents.
I Image information window.
Alt+I Iconify the file.
K Key Help (this window).
M Brings up the main PopUp menu.
N and Alt+N Opens next image in Open File Dialog's file listbox.
O and Ctrl+O Open a file.
Alt+O Options Dialog.
Ctrl+P Print the image.
P and Alt+P Opens previous image in Open File Dialog's file listbox.
R Resize the image.
Ctrl+R Rotate image Clockwise (+90 degrees).
Alt+R Rotate image CounterClockwise (-90 degrees).
S Save a file
Alt+S Slide Show Dialog
T Turn off the current selection region.
Alt+T Toggle Title Bar on and off.
U Undo most recent change to the image.
Z Zoom in.
Alt+Z Zoom out.
1 Magnify factor of 100% if using scroll bars for display.
2 Magnify factor of 200% if using scroll bars for display.
3 Magnify factor of 300% if using scroll bars for display.
4 Magnify factor of 400% if using scroll bars for display.
5 Magnify factor of 500% if using scroll bars for display.
+ Enlarge the image size by 10%.
- Decrease the image size by 10%.
Alt + Space Bar Minimize JView (Has Option setting to disable this hot
key).
Alt+F7 Move the window using arrow keys, works when Title Bar is off.
Ctrl+Ins Copy to the clipboard.
Alt+Ins Copy special to the clipboard.
Shift+Ins Paste from clipboard.
The Open File dialog has the following keyboard equivalents, they are active
only when the Open File dialog is active. They are:
Alt+N Show next image in the files listbox.
Ctrl+O Open the currently selected file.
Alt+P Show previous image in the files listbox.
Alt+Space Bar Minimize JView (See space bar above).
ΓòÉΓòÉΓòÉ 3.5. Optimizations ΓòÉΓòÉΓòÉ
There are three ways that you can significantly change the speed and resource
use of JView. What you need to think about is how you use this product. That
will largely determine how you set these options.
First off, you have the ability to use image file readers/writers that ship
with OS/2 Warp's BonusPak. If you have Light Tables installed on your system
then these readers are already present. To install these readers from CD-ROM,
access the \MMVIEWER directory on your BonusPak CD. Run the program MINSTALL
with the option /F:CONTROL.MMV. If you have disks, run the program from the
diskette labeled IBM Multimedia Viewer. (See page 3-5 of the document labeled
BonusPak that ships with Warp). BTW, don't install them all, just the ones you
are interested in.
By installing these readers, you expand the range file formats that JView can
use. Some of the formats available are the Kodak PhotoCD, Apple files, Atari
files, etc. Using these formats is slower than those that are built-in to
JView, but this method minimizes the duplication of code that would result if
JView had all of these built-in. Further, as IBM releases new file formats,
JView will instantly be able to access them without you having to purchase an
updated version.
The downside to always loading these optional formats is that the startup time
for JView is increased and JView will use more system resources (read memory).
But just having them installed doesn't cause them to always be loaded. Under
the Options dialog - the Misc section, you can specify whether to load these
readers on startup. If you choose not to, a command will appear under the Misc
section of the main PopUp menu saying Load OS/2 Image Readers. Selecting this
at any time while JView is running will add whatever readers are present. So,
if you rarely use these optional formats, choose not to load them on startup.
If you find that you need to load an image stored in one of these formats, just
run the Load OS/2 Image Readers command and go ahead.
JView has been designed in a modular manner to allow you to pick and choose
what features you wish. This has the side benefit of only loading those
functions you want or need. These functions are stored in DLLs (dynamic link
libraries) and their associated help files. The downside to this method is
that the startup time for JView is increased. If you use JView mostly to view
images and only sometimes want to use the optional features, you can specify
that JView not load the optional Dlls on startup. You do this by checking the
appropriate box in the Options menu - under Misc, Load Optional Dlls on
Startup. Now JView will startup much faster, but you have lost access to all
those features you may want at sometime. Not to worry. Just as happened
above, a new command will appear in the Misc section of the main PopUp menu.
This command is Load Add On Dlls. Running it will cause all the optional
function to become available.
To recap then, if most of the time you just use JView to view standard image
files (Bitmaps, GIFs, JPEGS) and little more, turn both Load Optional Dlls on
Startup and Check for OS/2 Image Readers on Startup off.
One last area for increasing performance involves the use of temporary files.
JView often needs to store large amounts of data but doesn't need to access
that data often. Typically you would use temporary files to hold this
information instead of main memory. If the temporary files can be placed on
your fasted harddrive then performance will increase. This is true for all
applications, not just JView. You can make sure this is the case by having the
environmental variables TMP and/or TEMP set to the appropriate drive and
directory.
ΓòÉΓòÉΓòÉ 3.6. Thread Priorities ΓòÉΓòÉΓòÉ
OS/2 has (for all practical purposes) 2 levels of thread priority, low(idle)
and regular. There seems to be a limit on the number of low priority threads
that can be active at once. Many applications (CPU meters, clocks, etc.) use
low priority threads. Along comes JView and it wants to use one. Well OS/2
will give JView a low priority thread, but OS/2 doesn't want to devote any CPU
cycles to that thread. The net effect is that nothing happens as far as JView
processing is concerned. Another possibility is that DOS applications and
certain other OS/2 programs will cause OS/2 to not give any CPU time to low
priority threads. If you have many applications running (or DOS programs) and
you try something with JView and nothing seems to happen, try regular priority
threads instead. Most of the time with JView you can use a check box to
specify whether a command should occur at low or regular priority or you can
use a menu selection to alter the priority. Some commands might start out at
low priority. These commands can be upgraded to regular priority by using a
menu command.
ΓòÉΓòÉΓòÉ 3.7. Quick Dir ΓòÉΓòÉΓòÉ
An especially useful feature, the Quick Dir listbox is present in several
different dialogs. It is only in the Options dialog that the Quick Dir listbox
can be modified. Aside from modifying the Quick Dir listbox, the Options dialog
is not affected by it. The format for an entry is to have a drive letter and
full path
For Example c:\images\gif, there should not be any trailing slashes. There is
no limit on the number of entries.
The basic use of the Quick Dir is to allow the user to quickly access
frequently used directories. So you put directories here that you often visit,
either for loading files or saving files. Then, instead of having to change
drives and move through multiple directories you simply select the place you
want to go.
ΓòÉΓòÉΓòÉ 3.8. Viewing Strategies ΓòÉΓòÉΓòÉ
Images are displayed in several ways. Three ways that are always available are
: 1) a full size image where scroll bars appear if the image is larger than its
display window, 2) just a simple, correctly scaled image which will fill the
display window as much as possible without distorting and 3) an image that
starts out scaled, but if the window size changes the aspect ratio will change
so that the picture always fills up the entire display window. These types of
display can be modified somewhat by selecting the fixed window size attribute.
This option will force JView to not resize the viewing window each time a new
file is loaded. The user can still manually resize the window at any time.
The SlideShow offers two addition ways of displaying images. See SlideShow for
more information.
The most important thing to remember when using JView is that the actual
resolution of the image (the width x height) is not always the same as that
which it is displayed with. For example, let's say you are working on a system
that is limited to a display of 640 by 480 and you try and load an image that
is 2000 by 2000. Assuming your are not using scroll bars, JView will resize
the image to fit the screen when it displays the image to you, but the data
representing the image will stay at 2000 by 2000. Any operations
(manipulations) that you perform on the image will by done on the original
image, the 2000 by 2000 one. Now, let's say you use the ReSize command to
reduce the image to 640 by 480. As far as you can see, nothing will have
changed. This is because the image size is still as big as the display can
handle. In reality you have changed the image size and if you save the image
it will be different than the one you originally loaded. The Image Information
option on the main menu will keep you apprised of the actual vs displayed
resolution of the current image. When you save a file there is the option to
save at the currently displayed size, the above discussion is why that option
exists.
ΓòÉΓòÉΓòÉ 4. File Formats ΓòÉΓòÉΓòÉ
A variety of file formats are supported. See each individual one for more
info.
You should be aware of some limitations when doing conversions between
different file formats or if you are constantly reading and saving the same
image over and over again (See JPEG).
ΓòÉΓòÉΓòÉ 4.1. JPEG ΓòÉΓòÉΓòÉ
The JPEG reading and writing code is based on the following people's work:
The Independent JPEG Group's JPEG software
==========================================
This software is the work of Tom Lane, Philip Gladstone, Luis Ortiz, Jim
Boucher, Lee Crocker, George Phillips, Davide Rossi, Ge' Weijers, and other
members of the Independent JPEG Group.
LEGAL ISSUES
============
The authors make NO WARRANTY or representation, either express or implied,
with respect to this software, its quality, accuracy, merchantability, or
fitness for a particular purpose. This software is provided "AS IS", and you,
its user, assume the entire risk as to its quality and accuracy.
This software is copyright (C) 1991, 1992, 1993, 1994, 1995, Thomas G. Lane.
All Rights Reserved except as specified below.
Permission for use of this software is granted only if the user accepts
full responsibility for any undesireable consequences; the authors accept
NO LIABILITY for damages of any kind.
Permission is NOT granted for the use of any IJG author's name or company name
in advertising or publicity relating to this software or products derived from
it. This software may be referred to only as "the Independent JPEG Group's
software".
We specifically permit and encourage the use of this software as the basis of
commercial products, provided that all warranty or liability claims are
assumed by the product vendor.
==================
The Quality setting affects the size of file that the JPEG save routine will
create. It lets you trade off compressed file size against the quality of the
saved image: the higher the quality setting, the larger the JPEG file, and the
closer the output image will be to the original input. Normally you want to
use the lowest quality setting (smallest file) that decompresses into something
visually indistinguishable from the original image. For this purpose the
quality setting should be between 50 and 95; the default of 75 is often about
right. If you see defects at quality 75, then go up 5 or 10 units at a time
until you are happy with the output image. The optimal setting is an aesthetic
judgement that varies image to image. Quality values above about 95 are NOT
recommended for normal use; the compressed file size goes up dramatically for
hardly any gain in output image quality. In the other direction, quality values
below 50 will produce very small files of low image quality. Settings around 5
to 10 might be useful in preparing an index of a large image library, for
example. Try quality 2 (or so) for some amusing Cubist effects. (Note:
quality values below about 25 generate 2-byte quantization tables, which are
considered optional in the JPEG standard. Some commercial JPEG programs may be
unable to decode the resulting file.)
Smooth Factor: Smooth the input image to eliminate dithering noise. The value
selected, ranging from 1 to 100, indicates the strength of smoothing. 0 will
mean to not use smoothing and can be used instead of the check button. The
Smooth option filters the currently displayed image to eliminate fine-scale
noise. A smoothing factor of 10 to 50 gets rid of dithering patterns in the
input file, resulting in a smaller JPEG file and a better-looking image. Too
large a smoothing factor will visibly blur the image.
Optimization of entropy encoding parameters. Without this, default encoding
parameters are used. Optimize usually makes the JPEG file a little smaller, but
JView runs somewhat slower and needs much more memory. Image quality and speed
of decompression are unaffected by optimize. It's also a win when you are using
low quality settings to make very small JPEG files; the percentage improvement
is often a lot more than it is on larger files.
The DCT method can be either Fast, Slow, or Float. The DCT refers to the
transform used to create the actual JPEG data. Ideally it is a floating point
process. If your computer has its own floating point processor, you may get
superior performance by choosing Float (for floating point). The other two
options refer to using integer methods to duplicate the floating point
calculations. Fast, duh, is faster than the Slow method, but less accurate.
The DCT is used for both reading a writing of JPEGs.
When reading a JPEG on an 8 bit system, there are five mutually exclusive
option that deals with quantization of the colors (converting from a 24 to 8
bit image). Your options are:
o Quick The one pass color quantization. The fastest of the color
quantizings, but probably will result in a noticeably inferior image.
Good for a quick look.
o Slow This implements Heckbert's Median Cut algorithm. Quality in line
with Best. Very slow compared to the built-in JPEG quantizer. For most
JPEGs it will probably give only minor quality improvements. Make your
own judgment. It is not part of the regular JPEG libraries.
o Best Floyd-Steinberg dithering is used. Based on ppmquant.c by Jef
Poskanzer.
o BuiltIn Uses the JPEG libraries built-in two pass quantizer. This is
the recommended choice.
o Gray Hands down the fastest way to look at a JPEG. Results in gray
colors only, but good way to take a quick look.
When quantization takes place, you can optionally specify a dithering method.
Your choices are Floyd Steinberg (the recommended choice), Ordered and None.
Dithering is a method of introducing error into the image that actually make
it look better. Seeing is believing.
ΓòÉΓòÉΓòÉ 4.2. Bitmaps ΓòÉΓòÉΓòÉ
The two important types of bitmaps supported are Windows and OS/2 style
bitmaps. JView should read any of these type of bitmaps (RLE and non-RLE) with
the following caveats:
o Black and White images that are stored by using modified Huffman encoding
cannot be read.
o OS/2 allows the use of halftones and such. JView does not read these but
no one has ever seen one.
Bitmaps can be saved in either RLE on uncompressed format. The RLE encoding
scheme is fairly brain dead and will actually increase the size of the file
for "real life" images with more than 16 colors. JView does some comparing
and will minimize the file size to its best ability so you should only see
slight increases in file size but then again you may see a significant
decrease. You pay your money and you takes your chances.
ΓòÉΓòÉΓòÉ 4.3. GIF ΓòÉΓòÉΓòÉ
Does em'.
You can choose to interlace your GIF. This is useful when you want the image
to appear as it is being received (by modem or download). The other option is
to designate one color as representing transparency. JView doesn't use this
information when reading a GIF, however many applications - notably Web
browsers - use this information to allow the display of an image to appear to
be non-rectangular.
JView will read both GIF87a and GIF89a formats but will write only GIF87a
format. If a multi-image gif file is encountered you will have the option of
breaking the images apart and creating a sequence of OS/2 bitmaps from them or
just reading the first image.
"The Graphics Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of
CompuServe Incorporated."
ΓòÉΓòÉΓòÉ 4.4. PNG ΓòÉΓòÉΓòÉ
PNG is supported in all formats. Full Alpha channel is supported, but the
information is used to create a display version of the image and is
subsequently lost. When saving you can choose to interlace and for 8 bit images
a transparency color can be designated.
ΓòÉΓòÉΓòÉ 4.5. TARGA ΓòÉΓòÉΓòÉ
The code to read Targa images is based on tgatoppm.c by Jef Poskanzer. This is
the copyright information from that file.
/* tgatoppm.c - read a TrueVision Targa file and write a portable pixmap
** Partially based on tga2rast, version 1.0, by Ian MacPhedran.
** Copyright (C) 1989 by Jef Poskanzer.
** Permission to use, copy, modify, and distribute this software and its
** documentation for any purpose and without fee is hereby granted, provided
** that the above copyright notice appear in all copies and that both that
** copyright notice and this permission notice appear in supporting
** documentation. This software is provided "as is" without express or
** implied warranty.
JView does both RLE and non-RLE style files.
ΓòÉΓòÉΓòÉ 4.6. PBM ΓòÉΓòÉΓòÉ
JView uses the term PBM loosely, there are really three (or six) different
types of formats here. They are:
PGM - portable graymap file format
The portable graymap format is a lowest common denominator grayscale file
format. The definition is as follows:
- A "magic number" for identifying the file type. A pgm file's magic
number is the two characters "P2".
- Whitespace (blanks, TABs, CRs, LFs).
- A width, formatted as ASCII characters in decimal.
- Whitespace.
- A height, again in ASCII decimal.
- Whitespace.
- The maximum gray value, again in ASCII decimal.
- Whitespace.
- Width * height gray values, each in ASCII decimal, between 0 and the
specified maximum value, separated by whitespace, starting at the top-
left corner of the graymap, proceeding in normal English reading order.
A value of 0 means black, and the maximum value means white.
- Characters from a "#" to the next end-of-line are ignored (comments).
- No line should be longer than 70 characters.
Here is an example of a small graymap in this format:
P2
# feep.pgm
24 7
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0
0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0
0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0
0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0
0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
There is also a variant on the format, the RAW style.
This variant is different in the following ways:
- The "magic number" is "P5" instead of "P2".
- The gray values are stored as plain bytes, instead of ASCII decimal.
- No whitespace is allowed in the grays section, and only a single
character of whitespace (typically a newline) is allowed after the
maxval.
- The files are smaller and many times faster to read and write.
Note that this raw format can only be used for maxvals less than or equal
to 255.
PBM - portable bitmap file format
The portable bitmap format is a lowest common denominator monochrome file
format. It was originally designed to make it reasonable to mail bitmaps
between different types of machines using the typical stupid network
mailers we have today. Now it serves as the common language of a large
family of bitmap conversion filters. The definition is as follows:
- A "magic number" for identifying the file type. A pbm file's magic
number is the two characters "P1".
- Whitespace (blanks, TABs, CRs, LFs).
- A width, formatted as ASCII characters in decimal.
- Whitespace.
- A height, again in ASCII decimal.
- Whitespace.
- Width * height bits, each either '1' or '0', starting at the top-left
corner of the bitmap, proceeding in normal English reading order.
- The character '1' means black, '0' means white.
- Whitespace in the bits section is ignored.
- Characters from a "#" to the next end-of-line are ignored (comments).
- No line should be longer than 70 characters.
Here is an example of a small bitmap in this format:
P1
# feep.pbm
24 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
There is also a variant on the format, the RAW style.
This variant is different in the following ways:
- The "magic number" is "P4" instead of "P1".
- The bits are stored eight per byte, high bit first low bit last.
- No whitespace is allowed in the bits section, and only a single
character of whitespace (typically a newline) is allowed after the
height.
- The files are eight times smaller and many times faster to read and
write.
PPM - portable pixmap file format
The portable pixmap format is a lowest common denominator color image
file format. The definition is as follows:
- A "magic number" for identifying the file type. A ppm file's magic
number is the two characters "P3".
- Whitespace (blanks, TABs, CRs, LFs).
- A width, formatted as ASCII characters in decimal.
- Whitespace.
- A height, again in ASCII decimal.
- Whitespace.
- The maximum color-component value, again in ASCII decimal.
- Whitespace.
- Width * height pixels, each three ASCII decimal values between 0 and
the specified maximum value, starting at the top-left corner of the
pixmap, proceeding in normal English reading order. The three values
for each pixel represent red, green, and blue, respectively; a value of
0 means that color is off, and the maximum value means that color is
maxxed out.
- Characters from a "#" to the next end-of-line are ignored (comments).
- No line should be longer than 70 characters.
Here is an example of a small pixmap in this format:
P3
# feep.ppm
4 4
15
0 0 0 0 0 0 0 0 0 15 0 15
0 0 0 0 15 7 0 0 0 0 0 0
0 0 0 0 0 0 0 15 7 0 0 0
15 0 15 0 0 0 0 0 0 0 0 0
There is also a variant on the format, the RAW style.
This variant is different in the following ways:
- The "magic number" is "P6" instead of "P3".
- The pixel values are stored as plain bytes, instead of ASCII decimal.
- Whitespace is not allowed in the pixels area, and only a single
character of whitespace (typically a newline) is allowed after the
maxval.
- The files are smaller and many times faster to read and write.
Note that this raw format can only be used for maxvals less than or equal
to 255.
The above three descriptions are very slightly altered versions of descriptions
originally written and Copyrighted (C) 1989, 1991 by Jef Poskanzer.
So, if you need to input a file format that JView does not support, here is
your chance if you know the format of the data you already have. Convert the
data into the appropriate ASCII format style above. It is probably simplest
just to use the ppm format and let JView convert it down into the appropriate
number of colors.
ΓòÉΓòÉΓòÉ 4.7. X11 Bitmap ΓòÉΓòÉΓòÉ
The X11 format is for black and white images only.
ΓòÉΓòÉΓòÉ 4.8. Sun Raster ΓòÉΓòÉΓòÉ
Nothing too exciting to say here, it just does it.
ΓòÉΓòÉΓòÉ 4.9. PCX ΓòÉΓòÉΓòÉ
The code for reading and writing PCX files is based on work by Michael
Davidson. There have been significant changes, including the ability to handle
24 bit images. This should handle up to version 5 PCX.
ΓòÉΓòÉΓòÉ 4.10. TIFF ΓòÉΓòÉΓòÉ
The code for reading and writing TIFFs is based on code written by Sam Leffler.
Here is his copyright notice.
/*
* Copyright (c) 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
When you save a TIFF file, there are several choices for the type of TIFF file
to stored.
Understanding the TIFF specification is beyond the capabilities of most mortals
and we will not even begin to think about getting into it in detail. If you
have trouble importing or exporting TIFF files to other applications, well
tough tiff, it is beyond our capabilities to deal with all the possible
inconsistencies.
ΓòÉΓòÉΓòÉ 4.11. Utah RLE ΓòÉΓòÉΓòÉ
JView only reads Utah RLE files, it will not write them.
ΓòÉΓòÉΓòÉ 4.12. MetaFiles ΓòÉΓòÉΓòÉ
JView will only read MetaFiles, it will not write them. Meta files are
actually a series of drawing commands and so you can imagine how big a file
would be if every command was to draw a single point at some color (well, WE
can imagine it at least). JView will size the MetaFile to display onto the
screen and then create a raster version of it. You cannot stop a MetaFile from
playing once it has started.
Since MetaFiles are played and not just displayed, JView will not perform batch
conversions on them.
ΓòÉΓòÉΓòÉ 4.13. Slide Show Files ΓòÉΓòÉΓòÉ
JView can store a selection of files for use in a Slide Show. These typically
are given and extension of sls. You can load these files using the Slide Show
Dialog or the regular File Open Dialog. In addition, you can drag and drop
such a file onto JView to begin play.
ΓòÉΓòÉΓòÉ 4.14. Other File Formats ΓòÉΓòÉΓòÉ
JView has the ability to tap into file formats supported by Warp but not
actually built into JView. See Additional Formats for detailed info.
ΓòÉΓòÉΓòÉ 5. REXX Scripts ΓòÉΓòÉΓòÉ
One of the more powerful features of OS/2 is its command language, REXX. JView
has the ability to run and interact with REXX scripts. If a REXX script is
dragged onto JView, or a REXX file is opened, that file will be run by JView.
The REXX files should be designed to work with JView, to that end when such a
file is being run by JView several REXX commands become available so that the
REXX file can interact with JView.
When JView is running a REXX script, several commands are available. They are
called just like any REXX command, with either
call JVWcommand("hello_there")
or
JVWcommand "hello_there"
Included with the distribution disk that JView comes on are two example REXX
files, example.cmd and povshow.cmd. The files in conjunction with this help
section should provide you with enough information to write your own REXX
files.
The descriptions of the commands that follow will list the command names in
alphabetical order. Beside each command will be a description of what the
command does and a listing of any required arguments. When an argument is
described as a string, it means that alphanumeric text is required - this is
contrasted with a number or integer. "hello" is a string while 456 is an
integer. All numeric information must be integers, no decimals should be used.
o JVWCropImage. This command is used to crop the current image. There are
four required arguments, all integers, and they specify the lower left
corner and upper right corner of the cropping region. In order they are
the left most X position, the bottom most Y position, the right most X
position, and the top most Y position. An example is
call JVWCropImage(10, 20, 400, 500)
Assuming your image starts out being 1000 by 1000, this command would
cause all pixels to the left of 10, below 20, right of 400 and above 500
to be discarded.
o JVWFlipImage. This command will flip the image either horizontally or
vertically depending on the supplied argument. One argument is required
and should be a string that is either "horizontal" or "vertical". An
example is
call JVWFlipImage("vertical")
o JVWGetImageInfo This command does not use any arguments. It does return
information in the form of a string that needs to be parsed for the
individual values. The parameters that make up the returned string are:
image width, image height, image depth (8 or 24), number of unique colors
(only significant for 8 bit images), window X position, window Y
position, window width, window height, a string that is either "crop_on"
or "crop_off" which informs whether a cropping (selection) region is
active, and four integers that represent the lower left corner (x, y) and
upper right corner (x, y) of the cropping rectangle if it is on. An
example of its use is
rc = JVWGetImageInfo()
PARSE VAR rc width height depth colors position_x position_y window_width window_height crop_status crop_left crop_bottom crop_right crop_top
o JVWOpenFile This command causes a new image to be loaded. It has one or
two arguments, both strings. The first argument is the name of the file
to be loaded. It should include a drive and full path. The second
argument is optional and signals whether a low priority thread should be
used for the loading. The second argument would be "low" if it is used.
Two examples
call JVWOpenFile("c:\image\judy.jpg", "low") - a low priority read.
call JVWOpenFile("c:\image\judy.jpg") - a regular priority read.
o JVWResizeImage. This command resizes the image to the specified
dimensions. Two arguments are required, both should be integers. They
are, in order, the new width and the new height. An example is
call JVWResizeImage(500, 1000)
This would make the image 500 pixels wide and 1000 pixels high.
o JVWRotateImage. This command will rotate the image 90 degrees in either
the clockwise or counterclockwise direction. One argument is required
and should be a string that is either "clockwise" or "counterclockwise".
An example is
call JVWRotateImage("clockwise")
o JVWSaveFile This command is used to save the current image. The command
requires two arguments and has two optional arguments. All arguments are
strings. The first argument is the file name. It should include the
drive and path. The next argument is the file type, it must be one of the
following: "os2", "os2_rle", "windows", "windows_rle", "x11", "gif",
"jpeg", "pbm_ascii", "pbm_raw", "pcx", "sun", "targa", "targa_rle",
"tiff_none", "tiff_lzw", "tiff_pack", "tiff_fax_3", or "tiff_fax_4". The
next argument is optional and dictates the color depth of the saved
image. A value of "full" will not alter the color depth. A value of
"gray" will cause the image to be saved as grayscale, while "bw" will
cause the image to become black and white. The next argument is also
optional and is either "low" or "high" and refers to the priority of the
save thread.
Note: that if you wish to indicate a save priority that you have to also
specify a color depth. Examples would be
call JVWSaveFile("c:\image\jane.jpg", "jpeg", "gray", "low)
or
call JVWSaveFile("c:\image\jane.bmp", "os2")
but
call JVWSaveFile("c:\image\tarzan.x11", "x11", "high")
is invalid because a color depth was not specified.
o JVWSay This is mostly useful as a debugging command to verify that the
arguments you are passing are correct. Any number of arguments are used,
each one is displayed in a message box. It can be used to tell the user
that the script is complete, or for some other signal. An example
call JVWSay("hello")
o JVWSetOption This is used to set a variety of options. The number and
type of arguments will vary depending on the option that is being set.
The possible arguments are:
- "fixed_window" This will have two arguments. The first will be the
string "fixed_window" while the second will also be a string and be
either "on" or "off". Using these arguments will dictate whether a
new image load will cause display resizing. An example is
call JVWSetOptions("fixed_window", "on")
- "jpeg_quantize" This will have two arguments, both strings. The
first will be "jpeg_quantize" while the second will be either
"quick" or "slow". This will set jpeg quantizing to use either the
quick method or the 2 pass regular (slow) method. An example is
call JVWSetOptions("jpeg_quantize", "quick")
- "quantize" This will have two or three arguments, both strings. The
first is "quantize" while the second will be one of "quick", "slow",
"compromise", "gray" or "error". If the second argurment is "error"
then a third argument is required and it is either "on" or "off".
The first four options refer to how quantizing (reducing an image
from 24 bit to 8 bit) takes place. They are analogous to the
methods that can be selected with the regular options dialog. The
"error" argument refers to error diffusion which can be set on or
off. Two examples
call JVWSetOptions("quantize", "slow")
or
call JVWSetOptions("quantize", "error", "on")
o JVWSetSelectionMethod Is used to choose the type of selection method
(cropping method). One argument is required and is one of "rectangle",
"ellipse", or "freehand". An example
call JVWSetSelectionMethod("freehand")
o JVWSizeWindow This command is used to resize and/or move the display
window. The number of arguments can vary. The arguments are:
- "move" This will require three additional arguments, one string and
two integers. The string will be either "relative" or "absolute".
This dictates whether the move will be to an absolute position on
the screen or relative to the current position. The last two
arguments, both integers, are the new position. The horizontal
value is first and the vertical value last. An example is
call JVWSizeWindow("move", "relative", 40, 50)
This would cause the current window to move over 40 pixels and up
50.
- "size" Follows a similar format to "move". This will resize the
display window (just the display window, not the actual image data).
It requires three additional arguments, one string and two integers.
The string will be either "relative" or "absolute". This dictates
whether the size change is to absolute values or relative to current
values. The third and fourth arguments are the width and height
changes. An example is
call JVWSizeWindow("size", "absolute", 100, 200)
This would change the window's size to 100 pixels wide and 200
pixels high.
- "invisible" is used to change the visibility state of the window to
hidden. No other arguments are used with it. An example is
call JVWSizeWindow("invisible")
- "visible" is used to change the visibility to state to visible. No
other arguments are used with it. An example is
call JVWSizeWindow("visible")
ΓòÉΓòÉΓòÉ 6. Copyright ΓòÉΓòÉΓòÉ
Crunch Products makes NO WARRANTY or representation, either expressed or
implied, with respect to JView, its quality, accuracy, merchantability, or
fitness for a particular purpose. This software is provided "AS IS", and you,
its user, assume the entire risk as to its quality and accuracy.
This software is copyright (C) 1992, 1993, 1994, 1995, 1996 V. Joseph Burkley,
Crunch Products. All Rights Reserved except as specified below.
(1) Permission for use of this software is granted only if the user accepts
full responsibility for any undesirable consequences; Crunch Products accepts
NO LIABILITY for damages of any kind.
(2) Permission is NOT granted for the use of the authors' names or company name
in advertising or publicity relating to this software or products derived from
it. Such permission may be granted on a case by case basis, contact Crunch
Products for further information.